﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Addon;
using ESL_Plugin;
/*Todo:
 *      ESL ADMINS müssen definiert werden
 *      Übersetzung
 */ 

namespace ESL_Plugin
{
    public class Plugin : CPlugin 
    {
        public List<ServerClient> team1, team2;
        public Round rnd = new Round();

        public override ChatType OnSay(string Message, ServerClient Client)
        {
            string[] msg = Message.Split(' ');
            if (msg[0] == "!matchstart" && !(rnd.islife()) && msg[1] != " " && msg[2] != " ") // Match wird gestartet !matchstart clantag1 clantag2
            {
                start(msg[1], msg[2]);
                rnd.setround(0); // Prematch
            }
            if (msg[0] == "!go" && rnd.isprematch()) // Überprüft ob Prematch oder nicht Wenn ja rnd = smoke 
            {
                ServerSay("Es folgt nun die Smoke Runde", true);
                rnd.setround(1);
            }
            if (msg[0] == "!false" && rnd.isprematch()) // Falsche ingabe -> PUBLIC Teams werden geleert
            {
                ServerSay("Die Clantags wurde falsche angegeben! Der Clantag muss mit einem Leerzeichen vom Name getrennt sein.", true);
                rnd.setround(42);
                team1.Clear();
                team2.Clear();
            }
            else // Es passiert garnichts 
                TellClient(Client.ClientNum, "Falsche Syntax !matchstart <ClanTag> <ClanTag>", false);

            return base.OnSay(Message, Client);
        }

        public override void OnPlayerConnect(ServerClient Client)
        {
            if (rnd.smokernd())
            {
                
            }
        }
    

        public void start(string t1, string t2) // Teams werden sortiert && Prematch wird gestartet außerdem werden Spieler ohne gültigen Clantag gekickt.
        {
            List<ServerClient> cl = GetClients();
            foreach(ServerClient x in cl)
            {
                string[] tname = x.Name.Split(' ');
                if (tname.Contains(t1))
                    team1.Add(x);
                if (tname.Contains(t2))
                    team2.Add(x);
                else
                    ServerCommand("clientkick " + x.ClientNum);
            }
            ServerSay("Team 1 " + team1.ToString() +"\n Team 2 " + team2.ToString() + "\n ist das Korrekt?", true);
            rnd.setround(1);
        }

        public void smokeround()
        { 
       
        }
    }
}
